// Machine generated IDispatch wrapper class(es) created with ClassWizard
/////////////////////////////////////////////////////////////////////////////
// Idmsoft wrapper class

class Idmsoft : public COleDispatchDriver
{
public:
	Idmsoft() {}		// Calls COleDispatchDriver default constructor
	Idmsoft(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
	Idmsoft(const Idmsoft& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}

// Attributes
public:

// Operations
public:
	CString Ver();
	CString GetBasePath();
	long SetPath(LPCTSTR path);
	long UnBindWindow();
	long SetDictPwd(LPCTSTR pwd);
	long UseDict(long index);
	CString Ocr(long x1, long y1, long x2, long y2, LPCTSTR color, double sim);
	long FindStr(long x1, long y1, long x2, long y2, LPCTSTR str, LPCTSTR color, double sim, VARIANT* x, VARIANT* y);
	CString FindStrEx(long x1, long y1, long x2, long y2, LPCTSTR str, LPCTSTR color, double sim);
	CString OcrInFile(long x1, long y1, long x2, long y2, LPCTSTR pic_name, LPCTSTR color, double sim);
	long GetResultCount(LPCTSTR str);
	long GetResultPos(LPCTSTR str, long index, VARIANT* x, VARIANT* y);
	long SetMinRowGap(long row_gap);
	long SetMinColGap(long col_gap);
	long SetWordLineHeight(long line_height);
	long SetWordGap(long word_gap);
	long SetRowGapNoDict(long row_gap);
	long SetColGapNoDict(long col_gap);
	long SetWordLineHeightNoDict(long line_height);
	long SetWordGapNoDict(long word_gap);
	long GetWordResultCount(LPCTSTR str);
	long GetWordResultPos(LPCTSTR str, long index, VARIANT* x, VARIANT* y);
	CString GetWordResultStr(LPCTSTR str, long index);
	CString GetWords(long x1, long y1, long x2, long y2, LPCTSTR color, double sim);
	CString GetWordsNoDict(long x1, long y1, long x2, long y2, LPCTSTR color);
	long StrStr(LPCTSTR s, LPCTSTR str);
	long KeyPress(long vk);
	long KeyDown(long vk);
	long KeyUp(long vk);
	long LeftClick();
	long RightClick();
	long MiddleClick();
	long LeftDoubleClick();
	long LeftDown();
	long LeftUp();
	long RightDown();
	long RightUp();
	long MoveTo(long x, long y);
	long MoveR(long rx, long ry);
	long Capture(long x1, long y1, long x2, long y2, LPCTSTR file);
	CString GetColor(long x, long y);
	CString GetColorBGR(long x, long y);
	CString RGB2BGR(LPCTSTR rgb_color);
	CString BGR2RGB(LPCTSTR bgr_color);
	long CmpColor(long x, long y, LPCTSTR color, double sim);
	long FindColor(long x1, long y1, long x2, long y2, LPCTSTR color, double sim, long dir, VARIANT* x, VARIANT* y);
	CString FindColorEx(long x1, long y1, long x2, long y2, LPCTSTR color, double sim, long dir);
	CString GetAveRGB(long x1, long y1, long x2, long y2);
	CString GetAveHSV(long x1, long y1, long x2, long y2);
	CString GetColorHSV(long x, long y);
	long ClientToScreen(long hwnd, VARIANT* x, VARIANT* y);
	long ScreenToClient(long hwnd, VARIANT* x, VARIANT* y);
	long ShowScrMsg(long x1, long y1, long x2, long y2, LPCTSTR msg, LPCTSTR color);
	long GetForegroundWindow();
	long GetForegroundFocus();
	long GetMousePointWindow();
	long GetPointWindow(long x, long y);
	CString EnumWindow(long parent, LPCTSTR title, LPCTSTR class_name, long filter);
	long MoveWindow(long hwnd, long x, long y);
	long GetWindowState(long hwnd, long flag);
	long GetWindow(long hwnd, long flag);
	long GetSpecialWindow(long flag);
	long SetWindowText(long hwnd, LPCTSTR text);
	long SetWindowSize(long hwnd, long width, long height);
	long GetClientSize(long hwnd, VARIANT* width, VARIANT* height);
	long GetWindowRect(long hwnd, VARIANT* x1, VARIANT* y1, VARIANT* x2, VARIANT* y2);
	CString GetWindowTitle(long hwnd);
	CString GetWindowClass(long hwnd);
	long SetWindowState(long hwnd, long flag);
	long SendCommand(LPCTSTR cmd);
	long SetShowErrorMsg(long show);
	long CreateFoobarRect(long hwnd, long x, long y, long w, long h);
	long CreateFoobarRoundRect(long hwnd, long x, long y, long w, long h, long rw, long rh);
	long CreateFoobarEllipse(long hwnd, long x, long y, long w, long h);
	long CreateFoobarCustom(long hwnd, long x, long y, LPCTSTR pic, LPCTSTR trans_color, double sim);
	long FoobarFillRect(long hwnd, long x1, long y1, long x2, long y2, LPCTSTR color);
	long FoobarDrawText(long hwnd, long x, long y, long w, long h, LPCTSTR text, LPCTSTR color, long align);
	long FoobarDrawPic(long hwnd, long x, long y, LPCTSTR pic, LPCTSTR trans_color);
	long FoobarUpdate(long hwnd);
	long FoobarLock(long hwnd);
	long FoobarUnlock(long hwnd);
	long FoobarSetFont(long hwnd, LPCTSTR font_name, long size, long flag);
	long FoobarTextRect(long hwnd, long x, long y, long w, long h);
	long FoobarPrintText(long hwnd, LPCTSTR text, LPCTSTR color);
	long FoobarClearText(long hwnd);
	long FoobarTextLineGap(long hwnd, long gap);
	long Play(LPCTSTR file);
	long FaqCapture(long x1, long y1, long x2, long y2, long quality, long delay, long time);
	long FaqRelease(long handle);
	CString FaqSend(LPCTSTR server, long handle, long request_type, long time_out);
	long Beep(long fre, long delay);
	long FoobarClose(long hwnd);
	long MoveDD(long dx, long dy);
	long FaqGetSize(long handle);
	long LoadPic(LPCTSTR pic_name);
	long FreePic(LPCTSTR pic_name);
	long GetScreenData(long x1, long y1, long x2, long y2);
	long FreeScreenData(long handle);
	long WheelUp();
	long WheelDown();
	long SetMouseDelay(LPCTSTR type, long delay);
	long SetKeypadDelay(LPCTSTR type, long delay);
	CString GetEnv(long index, LPCTSTR name);
	long SetEnv(long index, LPCTSTR name, LPCTSTR value);
	long SendString(long hwnd, LPCTSTR str);
	long DelEnv(long index, LPCTSTR name);
	CString GetPath();
	long SetDict(long index, LPCTSTR dict_name);
	long FindPic(long x1, long y1, long x2, long y2, LPCTSTR pic_name, LPCTSTR delta_color, double sim, long dir, VARIANT* x, VARIANT* y);
	CString FindPicEx(long x1, long y1, long x2, long y2, LPCTSTR pic_name, LPCTSTR delta_color, double sim, long dir);
	long SetClientSize(long hwnd, long width, long height);
	long ReadInt(long hwnd, LPCTSTR addr, long type);
	float ReadFloat(long hwnd, LPCTSTR addr);
	double ReadDouble(long hwnd, LPCTSTR addr);
	CString FindInt(long hwnd, LPCTSTR addr_range, long int_value_min, long int_value_max, long type);
	CString FindFloat(long hwnd, LPCTSTR addr_range, float float_value_min, float float_value_max);
	CString FindDouble(long hwnd, LPCTSTR addr_range, double double_value_min, double double_value_max);
	CString FindString(long hwnd, LPCTSTR addr_range, LPCTSTR string_value, long type);
	long GetModuleBaseAddr(long hwnd, LPCTSTR module_name);
	long MoveToEx(long x, long y, long w, long h);
	CString MatchPicName(LPCTSTR pic_name);
	long AddDict(long index, LPCTSTR dict_info);
	long EnterCri();
	long LeaveCri();
	long WriteInt(long hwnd, LPCTSTR addr, long type, long v);
	long WriteFloat(long hwnd, LPCTSTR addr, float v);
	long WriteDouble(long hwnd, LPCTSTR addr, double v);
	long WriteString(long hwnd, LPCTSTR addr, long type, LPCTSTR v);
	long AsmAdd(LPCTSTR asm_ins);
	long AsmClear();
	long AsmCall(long hwnd, long mode);
	long FindMultiColor(long x1, long y1, long x2, long y2, LPCTSTR first_color, LPCTSTR offset_color, double sim, long dir, VARIANT* x, VARIANT* y);
	CString FindMultiColorEx(long x1, long y1, long x2, long y2, LPCTSTR first_color, LPCTSTR offset_color, double sim, long dir);
	CString AsmCode(long base_addr);
	CString Assemble(LPCTSTR asm_ins, long base_addr, long is_upper);
	long SetWindowTransparent(long hwnd, long v);
	CString ReadData(long hwnd, LPCTSTR addr, long len);
	long WriteData(long hwnd, LPCTSTR addr, LPCTSTR data);
	CString FindData(long hwnd, LPCTSTR addr_range, LPCTSTR data);
	long SetPicPwd(LPCTSTR pwd);
	long Log(LPCTSTR info);
	CString FindStrE(long x1, long y1, long x2, long y2, LPCTSTR str, LPCTSTR color, double sim);
	CString FindColorE(long x1, long y1, long x2, long y2, LPCTSTR color, double sim, long dir);
	CString FindPicE(long x1, long y1, long x2, long y2, LPCTSTR pic_name, LPCTSTR delta_color, double sim, long dir);
	CString FindMultiColorE(long x1, long y1, long x2, long y2, LPCTSTR first_color, LPCTSTR offset_color, double sim, long dir);
	long SetExactOcr(long exact_ocr);
	CString ReadString(long hwnd, LPCTSTR addr, long type, long len);
	long FoobarTextPrintDir(long hwnd, long dir);
	CString OcrEx(long x1, long y1, long x2, long y2, LPCTSTR color, double sim);
	long SetDisplayInput(LPCTSTR mode);
	long GetTime();
	long GetScreenWidth();
	long GetScreenHeight();
	long BindWindowEx(long hwnd, LPCTSTR display, LPCTSTR mouse, LPCTSTR keypad, LPCTSTR public_desc, long mode);
	CString GetDiskSerial();
	CString Md5(LPCTSTR str);
	CString GetMac();
	long ActiveInputMethod(long hwnd, LPCTSTR id);
	long CheckInputMethod(long hwnd, LPCTSTR id);
	long FindInputMethod(LPCTSTR id);
	long GetCursorPos(VARIANT* x, VARIANT* y);
	long BindWindow(long hwnd, LPCTSTR display, LPCTSTR mouse, LPCTSTR keypad, long mode);
	long FindWindow(LPCTSTR class_name, LPCTSTR title_name);
	long GetScreenDepth();
	long SetScreen(long width, long height, long depth);
	long ExitOs(long type);
	CString GetDir(long type);
	long GetOsType();
	long FindWindowEx(long parent, LPCTSTR class_name, LPCTSTR title_name);
	long SetExportDict(long index, LPCTSTR dict_name);
	CString GetCursorShape();
	long DownCpu(long rate);
	CString GetCursorSpot();
	long SendString2(long hwnd, LPCTSTR str);
	long FaqPost(LPCTSTR server, long handle, long request_type, long time_out);
	CString FaqFetch();
	CString FetchWord(long x1, long y1, long x2, long y2, LPCTSTR color, LPCTSTR word);
	long CaptureJpg(long x1, long y1, long x2, long y2, LPCTSTR file, long quality);
	long FindStrWithFont(long x1, long y1, long x2, long y2, LPCTSTR str, LPCTSTR color, double sim, LPCTSTR font_name, long font_size, long flag, VARIANT* x, VARIANT* y);
	CString FindStrWithFontE(long x1, long y1, long x2, long y2, LPCTSTR str, LPCTSTR color, double sim, LPCTSTR font_name, long font_size, long flag);
	CString FindStrWithFontEx(long x1, long y1, long x2, long y2, LPCTSTR str, LPCTSTR color, double sim, LPCTSTR font_name, long font_size, long flag);
	CString GetDictInfo(LPCTSTR str, LPCTSTR font_name, long font_size, long flag);
	long SaveDict(long index, LPCTSTR file);
	long GetWindowProcessId(long hwnd);
	CString GetWindowProcessPath(long hwnd);
	long LockInput(long lock);
	CString GetPicSize(LPCTSTR pic_name);
	long GetID();
	long CapturePng(long x1, long y1, long x2, long y2, LPCTSTR file);
	long CaptureGif(long x1, long y1, long x2, long y2, LPCTSTR file, long delay, long time);
	long ImageToBmp(LPCTSTR pic_name, LPCTSTR bmp_name);
	long FindStrFast(long x1, long y1, long x2, long y2, LPCTSTR str, LPCTSTR color, double sim, VARIANT* x, VARIANT* y);
	CString FindStrFastEx(long x1, long y1, long x2, long y2, LPCTSTR str, LPCTSTR color, double sim);
	CString FindStrFastE(long x1, long y1, long x2, long y2, LPCTSTR str, LPCTSTR color, double sim);
	long EnableDisplayDebug(long enable_debug);
	long CapturePre(LPCTSTR file);
	long Reg(LPCTSTR code);
	CString GetMachineCode();
	long SetClipboard(LPCTSTR data);
	CString GetClipboard();
	long GetNowDict();
	long Is64Bit();
	long GetColorNum(long x1, long y1, long x2, long y2, LPCTSTR color, double sim);
	CString EnumWindowByProcess(LPCTSTR process_name, LPCTSTR title, LPCTSTR class_name, long filter);
};
